﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Entities.PBKT;
using BLL.PBKT;

namespace WindowsForms.PBKT
{
	public partial class FormDoiTuyenThongKe : Form
	{
		public FormDoiTuyenThongKe()
		{
			InitializeComponent();
		}

		private void FormDoiTuyenThongKe_Load(object sender, EventArgs e)
		{
			cbbDoiTuyen.DataSource = DoiTuyen.Objects.All().ToList();
			cbbDoiTuyen.DisplayMember = "TenDT";
			cbbDoiTuyen.ValueMember = "MaDT";
			dgvDoiTuyen.AutoGenerateColumns = false;
		}
		private List<LichThiDau> dsLichTDbyDT;
		DoiTuyen dt;
		private void cbbDoiTuyen_SelectedIndexChanged(object sender, EventArgs e)
		{
			dsLichTDbyDT = new List<LichThiDau>();
			dt = cbbDoiTuyen.SelectedItem as DoiTuyen;
			dsLichTDbyDT = LichThiDau.Objects.Find(c => c.MaDoi1 == dt.MaDT || c.MaDoi2 == dt.MaDT && c.TySo != "").ToList();
		}

		private void btnThongKe_Click(object sender, EventArgs e)
		{
			if (dsLichTDbyDT != null)
				dgvDoiTuyen.DataSource = dsLichTDbyDT;
			for (int i = 0; i < dgvDoiTuyen.RowCount; i++)
			{
				if (dgvDoiTuyen.Rows[i].Cells[0].Value.ToString() == dt.MaDT || dgvDoiTuyen.Rows[i].Cells[1].Value.ToString() == dt.MaDT)
					dgvDoiTuyen.Rows[i].Cells[3].Value = ScheduleManager.LayDiem(dsLichTDbyDT[i], dt);
			}
			lblBThang.Text = TinhDiem(ThongKeDoiTuyen.TongBanThang).ToString();
			lblBThua.Text = TinhDiem(ThongKeDoiTuyen.TongBanThua).ToString();
			lblDiem.Text = TinhDiem(ThongKeDoiTuyen.TongDiem).ToString();
			ScheduleManager.UpdateSoBanThang(dt, TinhDiem(ThongKeDoiTuyen.TongBanThang));
			ScheduleManager.UpdateSoBanThua(dt, TinhDiem(ThongKeDoiTuyen.TongBanThua));
			ScheduleManager.UpdateDiem(dt, TinhDiem(ThongKeDoiTuyen.TongDiem));

		}

		private int TinhDiem(ThongKeDoiTuyen tk)
		{
			int kq = 0;
			for (int i = 0; i < dgvDoiTuyen.RowCount; i++)
			{
				if (dgvDoiTuyen.Rows[i].Cells[0].Value.ToString() == dt.MaDT || dgvDoiTuyen.Rows[i].Cells[1].Value.ToString() == dt.MaDT)
					switch (tk)
					{
						case ThongKeDoiTuyen.TongBanThang:
							kq += ScheduleManager.LayBanThang(dsLichTDbyDT[i], dt);
							break;
						case ThongKeDoiTuyen.TongBanThua:
							kq += ScheduleManager.LayBanThua(dsLichTDbyDT[i], dt);
							break;
						case ThongKeDoiTuyen.TongDiem:
							kq += Int32.Parse(dgvDoiTuyen.Rows[i].Cells[3].Value.ToString());
							break;
						default:
							break;
					}

			}
			return kq;
		}
	}
}
enum ThongKeDoiTuyen
{
	TongBanThang,
	TongBanThua,
	TongDiem

}
